<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>


        // 任意数据类型之间都可以进行算术运算
        //    如果存在  -  *  /  %    结果一定是数字
        //        在计算的过程中，会自动把非数字转成数字进行计算
        //            字符串转数字    要么成功的转数字，要么就是NaN
        //            布尔值转数字   true -> 1     false -> 0
        //            undefined转数字   NaN   
        //            null转数字  0


        // 遇到+的时候，如果有字符串，结果一定是字符串，如果没有字符串，结果一定是数字



        var a = 1 / 'a' ;
        console.log(a) ;  // NaN
        console.log('a' / 'b') ;  // NaN 

        console.log(1 - 'hi') ;  // NaN 


        console.log(1 - '3') ;  // -2




        // 布尔值
        //   true  -> 1
        //   false -> 0

        console.log(1 - true) ;  // 0

        console.log( 2 * true) ;  // 2

        console.log(1 - false) ;


        console.log(undefined + 2) ;   // NaN


        console.log(null + 3) ;   // 3

        // 遇到+的时候，如果有字符串，结果一定是字符串，如果没有字符串，结果一定是数字
        console.log(1 + true) ;

        console.log(true + false) ;

        console.log(undefined + null) ;  // NaN


    </script>
    
</body>
</html>